﻿using System.ComponentModel.DataAnnotations;
using Orchard.ContentManagement;
using Twitter.Models.Enums;
using Twitter.Extensions;
using System.ComponentModel;

namespace Twitter.Models
{
    public class FavesPart : ContentPart<FavesPartRecord>
    {
        [Required]
        public string Username
        {
            get { return Record.Username; }
            set { Record.Username = value; }
        }

        public int Width
        {
            get { return Record.Width; }
            set { Record.Width = value; }
        }

        public int Height
        {
            get { return Record.Height; }
            set { Record.Height = value; }
        }

        public string WidgetTitle
        {
            get { return Record.WidgetTitle; }
            set { Record.WidgetTitle = value; }
        }

        public string Caption
        {
            get { return Record.Caption; }
            set { Record.Caption = value; }
        }

        public string BackgroundShellColor
        {
            get { return Record.BackgroundShellColor; }
            set { Record.BackgroundShellColor = value; }
        }

        public string ShellColor
        {
            get { return Record.ShellColor; }
            set { Record.ShellColor = value; }
        }

        public string TweetsBackgroundColor
        {
            get { return Record.TweetsBackgroundColor; }
            set { Record.TweetsBackgroundColor = value; }
        }

        public string TweetsColor
        {
            get { return Record.TweetsColor; }
            set { Record.TweetsColor = value; }
        }

        public string TweetsLinksColor
        {
            get { return Record.TweetsLinksColor; }
            set { Record.TweetsLinksColor = value; }
        }

        public int NumberOfTweets
        {
            get { return Record.NumberOfTweets; }
            set { Record.NumberOfTweets = value; }
        }

        public bool ScrollBar
        {
            get { return Record.ScrollBar; }
            set { Record.ScrollBar = value; }
        }

        public bool Loop
        {
            get { return Record.Loop; }
            set { Record.Loop = value; }
        }

        public bool Live
        {
            get { return Record.Live; }
            set { Record.Live = value; }
        }

        public bool HashTags
        {
            get { return Record.HashTags; }
            set { Record.HashTags = value; }
        }

        public bool Timestamp
        {
            get { return Record.Timestamp; }
            set { Record.Timestamp = value; }
        }

        public bool Avatars
        {
            get { return Record.Avatars; }
            set { Record.Avatars = value; }
        }

        public WidgetBehavior Behavior
        {
            get { return Record.Behavior.ToWidgetBehavior(); }
            set { Record.Behavior = (int)value; }
        }

        public int Interval
        {
            get { return Record.Interval; }
            set { Record.Interval = value; }
        }
    }
}
